package controladores;

import modelos.daos.ReservaDAO;
import modelos.daos.ReservaHabitacionDAO;
import modelos.daos.ReservaSalaDAO;
import modelos.pojos.Reserva;
import modelos.pojos.ReservaHabitacion;
import modelos.pojos.ReservaSala;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;

public class ConsultarReservaCont {

    protected static Logger log = Logger.getLogger(ConsultarReservaCont.class);

    public static Reserva consultarReserva(String codigoReserva) {
        Reserva resultado = null;
        try {
            resultado = ReservaDAO.consultar(codigoReserva);
        } catch (SQLException ex) {
        }
        return resultado;
    }

    public static List<Reserva> listarReservasPorCodigo(String codigo) {
        List<Reserva> listaReservas = null;
        try {
            listaReservas = ReservaDAO.listar(codigo);
        } catch (Exception ex) {
        }
        return listaReservas;
    }

    public static List<Reserva> listarReservasPorCedula(String cedula) {

        List<Reserva> listaReservas = null;
        try {
            listaReservas = ReservaDAO.listarPorCliente(cedula);
        } catch (Exception ex) {
        }
        return listaReservas;
    }

    public static List<ReservaSala> consultarReservasSala(String cod) {
        List<ReservaSala> listaReservaSalas = null;
        try {
            listaReservaSalas = ReservaSalaDAO.listarReservaSalas(cod);
        } catch (Exception ex) {
        }
        return listaReservaSalas;
    }

    public static List<ReservaHabitacion> consultarReservasHabitacion(String cod) {
        List<ReservaHabitacion> listaReservaHabitaciones = null;
        try {
            listaReservaHabitaciones = ReservaHabitacionDAO.listarReservasHabitaciones(cod);
        } catch (Exception ex) {
        }
        return listaReservaHabitaciones;
    }

    public static ReservaSala consultarReservaSala(String codigoReserva, String numeroSala) {
        ReservaSala resultado = null;
        try {
            resultado = ReservaSalaDAO.consultar(codigoReserva, numeroSala);
        } catch (Exception ex) {
        }
        return resultado;
    }

    public static ReservaHabitacion consultarReservaHabitacion(String codigoReserva, String numeroHabitacion) {
        ReservaHabitacion resultado = null;
        try {
            resultado = ReservaHabitacionDAO.consultar(codigoReserva, numeroHabitacion);
        } catch (Exception ex) {
        }
        return resultado;
    }

    public static List<ReservaHabitacion> consultarReservasHabitacionCheckables(String codigoReserva, Date fecha) {
        List<ReservaHabitacion> listaCheckables = null;
        try {
            Reserva reserva = ReservaDAO.consultar(codigoReserva);
            SimpleDateFormat formato = new SimpleDateFormat("yyyy/MM/dd");
            String cadenaFecha;
            cadenaFecha = formato.format(fecha);
            listaCheckables = ReservaHabitacionDAO.consultarCheckables(reserva, new Date(cadenaFecha));
        } catch (Exception ex) {
        }
        return listaCheckables;
    }
    
    public static List<ReservaSala> consultarReservasSalasCheckables(String codigoReserva, Date fecha) {
        List<ReservaSala> listaSalasCheckables = null;
        try {
            Reserva reserva = ReservaDAO.consultar(codigoReserva);
            SimpleDateFormat formato = new SimpleDateFormat("yyyy/MM/dd");
            String cadenaFecha;
            cadenaFecha = formato.format(fecha);
            listaSalasCheckables = ReservaSalaDAO.consultarCheckables(reserva, new Date(cadenaFecha));
        } catch (Exception ex) {
        }
        return listaSalasCheckables;
    }    
}
